Systems and Methods for Sensing an Environment with Wireless Communication Signals

ABSTRACT

A system and method are provided, for sensing an environment. The system and method analyze wireless signals in the environment to determine effects on the wireless signal by the environment during propagation thereof, the effects being indicative of at least one characteristic of the environment.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.16/003,044 filed on Jun. 7, 2018, which is a continuation of PCTApplication No. PCT/CA2017/050116 filed on Feb. 1, 2017, which claimspriority to U.S. Provisional Patent Application No. 62/291,238 filed onFeb. 4, 2016, all incorporated herein by reference.

TECHNICAL FIELD

The following relates to systems and methods for sensing an environmentwith wireless communication signals, and more particularly, forassessing the state of a plurality of areas experiencing sensing,detecting, extracting and/or compressing using static profiles as abaseline for activity recognition via such wireless signals.

DESCRIPTION OF THE RELATED ART

Many of the currently used wireless communication systems such as LTE,LTE-Advance, IEEE 802.11n and IEEE 802.11ac are continuously sensing thestate of the wireless channel via well-known signals or pilot signals,in order to understand the environment and be able to, for example,dynamically optimize the throughput rate, or improve the robustness ofthe system. Those sensing mechanisms are found to be continuouslyimproving and they enable self-driven calibration systems and wirelesssignal pre-compensation and post-compensation techniques, minimizingdifferences between the transmitted and received signals.

Measurable variables of wireless signals have been also used forlocation purposes. One of the most commonly used types of informationfor this purpose, is the wireless signal strength. For example, apositioning method for mobile devices has been developed and describedin U.S. Pat. No. 7,042,391; where the received signal strength (RSS)data from multiple reference devices are collected. Based on a path lossfunction, the RSS data are then used to estimate the distances betweenthe target and the reference devices. Another positioning method formobile devices has been proposed in U.S. Pat. No. 7,042,391; whichbuilds a mapping between the RSS data and the device location, andstores this mapping as the calibration data. The method then comparesthe new RSS data with the calibration data to estimate the location ofthe target device. A field testing tool referred to as “OmniTester” hasbeen developed and is described in U.S. Pat. No. 7,577,238; whichintegrates signal-strength and error-rate testing for wireless networks.

More fine-grained information is available in modern communicationsystems and several approaches have been proposed in order to improvethose systems. For example, a method that provides periodic channelstate information (CSI) data has been developed and is described in U.S.Patent Application Publication No. 2011/0242982. A plurality of reportsin an aggregated form is provided, which includes CSI on a plurality ofcomponent carriers. A method for detection of failure and recovery in aradio link has been proposed and is described in U.S. Patent ApplicationPublication No. 2010/0034092, where CSI data is used to estimate thetransmission block error rate. A method for transmitting data in amultiple-input multiple-output (MIMO) communication system has beendesigned and is described in U.S. Pat. No. 7,729,442, where channelquality information (CQI) is fed back from the receivers to thetransmitters. This CSI is then adopted to determine all datatransmission rates of the sub-streams. However, these fine-grainedmeasurement can be valuable, not only for communication purposes, butfor other purposes.

SUMMARY

It has been found that the above-described approaches could be adaptedto use the fine-grained information already available in the currentcommunication systems to understand certain states of the environment,what is referred to herein as “static profiles”, for example to revealthe presence of moving objects or the activities performed in anenvironment by humans and/or animals, etc.

In one aspect, there is provided a method for sensing an environment,the method comprising analyzing at least one wireless signal in theenvironment to determine effects on the wireless signal by theenvironment during propagation thereof, the effects being indicative ofeither or both: at least one characteristic of the environment, and away the environment is configured

In other aspects there are provided a system and computer readable mediaconfigured for performing the method.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will now be described by way of example only with referenceto the appended drawings wherein:

FIG. 1(a) illustrates a configuration for a system capable of sensing aparticular sensing area by analyzing system output signals;

FIG. 1(b) shows a transformation of an input signal into an outputsignal characterizing a sensing area;

FIG. 1(c) illustrates a configuration for a system capable of sensing aparticular sensing area by employing transceivers that simultaneously,if desired, provide sensing results on both devices;

FIG. 2 is a flow chart illustrating computer executable instructionsshowing global functionalities for extracting static profile(s);

FIG. 3 is a block diagram illustrating a process for identifying,extracting, and/or compressing static profile(s);

FIG. 4 illustrates various examples of variables that can be measuredper stream while using wireless signals as well as parameters related toa wireless interface;

FIG. 5 is a block diagram illustrating a pre-processing of obtainedmeasurements;

FIG. 6 is a block diagram illustrating a machine learning computationmodule that provides different sets of features for at least one stream;

FIG. 7 is a block diagram illustrating a process for identifyingmeasurement segments from where a static profile could potentially beextracted;

FIG. 8 is a block diagram illustrating a process for evaluating whetheror not an extracted profile meets system requirements;

FIGS. 9(a) to 9(c) illustrate an extraction of a static profile for onestream and the channel state information measurements from where thisstatic profile was identified and extracted; and

FIGS. 10(a) to 10(c) illustrate an extraction of a static profile forone stream and the channel state information measurements from wherethis static profile was identified and extracted.

DETAILED DESCRIPTION

It has been recognized that wireless signals in an environment can beanalyzed to determine effects on the signals as they propagate throughthe environment. In this way, characteristics of the environment can bedetermined. The characteristics can be determined using static profiles.

A static profile is defined herein as a stable behavior observed inmeasurements obtained from the sensing of a particular area; whileemploying wireless signals reflecting no variation or negligiblevariations from measurement to measurement of wireless signal intensity,channel frequency response, impulse response, or any other measurablevariables of the wireless signals that are sensitive to changes in anenvironment. The static profile can be summarized with at least atwo-dimensional figure capturing the behavior of the variable orparameter that has been measured.

These measurements can be taken from the sensing mechanisms implementedin current wireless communication systems, for example, when usingsounding signals, which are known by both the transmitter and receiver.These sounding signals can provide valuable information to the systemregarding the current state of the wireless channel, since the receiverknows the signal that the transmitter is sending and it can compute, forexample, the frequency response of the channel, and can provide thisfeedback to the transmitter or any devices in the system.

For example, the static profile of an empty house could be detected andextracted to be used as a baseline for activity recognition. Staticprofiles could also be detected and extracted even if subjects (e.g.,humans or pets) are within the sensing area. However, these profileswould still exist due to either the absence of movement or due to minoractivities of the subjects that are considered as static profiles aswell as according to the system specifications. As another example, astatic profile could be identified and extracted within a short periodof time (e.g., a few milliseconds) while an activity is being performed,if the sampling rate is high enough, e.g. while walking in onedirection, stopping for turning around and start walking back. Examplesof such static profiles and the use thereof are described below.

As illustrated in FIG. 1(a), a sensing area 100 is generated through atleast two devices, a transmitter 106 and a receiver 108. The transmitter106 should create the baseband input signals 102 that will modulate acarrier signal and an antenna or an array of antennas, represented by“radiation system” 104, radiates a bandpass signal with a definedbandwidth that satisfies the sensing requirements. The radiated waves114 travel through the sensing area while typically suffering multiplepropagation effects, and interacting with the multiple objects in theenvironment that are disposed in a particular way. A receiver apparatus108 is configured to transform non-guided radio waves into guided radiowaves through a receiver antenna or an array of receiver antennas,herein the “radiation system” 110. Since the received signal is thesuperposition of the received signals that travelled through the directpath, and the signals typically travel through many other differentpaths (multipath effect), the received signal should contain valuableinformation that characterizes the environment. This valuableinformation can be captured by the output signals 112. In an indoorarea, the multipath propagation mechanisms are normally reinforced,generating what is referred to herein as the sensing area 100.

Multiple streams of the radiate waves 114 can be used to generate thesensing area 100 if at least more than one antenna is used, either inthe receiver 108 or in the transmitter 106. A single stream is formedbetween each pair of transmitter and receiver antennas. All possiblestreams are represented by reference numeral 114 in FIG. 1(a), andindividually referred to as stream 1, stream 2, and up to stream N inthe subsequent description.

The boundaries of the sensing area 100 could be well defined, but maynot necessarily be. In most cases, the specific shape of the sensingarea 100 is unknown since it will depend on the environment, thespecific communication system generating the sensing area 100, the powerlevels employed by the transmitter 106, carrier frequency, and signalbandwidth, among other things.

Example input signals 102 are illustrated in FIG. 1(b). Without loss ofgenerality, wireless signals are represented herein by their equivalentbaseband complex signals. The input signal is represented in time andfrequency domains and the magnitude of the original baseband complexrepresentation is used. For the sake of comparison, the sameconsiderations are applied to the output signal 112 used as an examplein FIG. 1(b). The input signal 102 includes periodic or non-periodicsignals with a corresponding bandwidth depending on the nature of thesignals employed for the sensing. The output signal 112 is a distortedversion of the input signal 102 as shown in FIG. 1(b) wherein thebandwidth of the signal is different from the one used in thetransmitter 106. A central frequency offset may also exist, and bothin-band and out-of-band distortion is also represented. Thetransformation 116 describes the transformation of the input signal 102into the output signal 112 and herein it is used as a descriptor agentof the environment within the sensing area 100. The transformation 116affects both the amplitude and phase of the input signals 102 resultingin the output signals 112. It can be appreciated that the transformation116 is caused by natural effects, since the transmitted signal 102interacts with the environment and the received signal would be amodified version (in both amplitude and phase) of what was transmitted.The specific way in which the input signal 102 is modified by theenvironment provides information about the environment. The conversewould be that, if the input signal is not modified, thetransformation=1, where the input signal=the output signal, there wouldbe no information provided about the environment.

All of the signals herein, e.g. 102 and 112, are generated either in thedigital or analog domain and are acquired in the receiver side andanalyzed in either digital or analog domain as well.

In one implementation, a narrowband and flat-fading channel is assumed,the relationship

${{H_{k}^{(l)}\lbrack n\rbrack} = \frac{Y_{k}^{(l)}\lbrack n\rbrack}{X_{k}^{(l)}\lbrack n\rbrack}},{k = 1},2,\ldots \mspace{14mu},K,$

and l=1,2, . . . , L, is adopted to describe the channel response in thefrequency domain for each of the streams 114 used to generate thesensing area 100.

H_(k) ^((l)) [n] denotes the channel response and/or the transformationof subcarrier k in stream l at time n.

X_(k) ^((l)) [n] is the pilot signal transmitted on subcarrier k in thefrequency domain in stream l at time n, and Y_(K) ^((l)) [n] is thereceived signal on subcarrier k in the frequency domain and in stream lat time n.

The total number of subcarriers available in each stream is representedby K and, and L is the total number of streams.

In FIG. 1(a), the receiver 108 may or may not have knowledge of thespecific input signal 102 used by the transmitter 106. In either case,the receiver 108 is the apparatus able to generate a sensing resultbased on the analysis and processing of the output signal 112. On theother hand, the system illustrated in FIG. 1(c) provides sensingfunctionalities in both directions by using transceivers instead of asingle transmitter and a single receiver when compared to the systempresented in FIG. 1(a).

In FIG. 1 (c), the transceiver 120 is capable of transmitting andreceiving wireless signals by using the radiation system 104. The sameapplies to the transceiver 122 by using the radiation system 110.Whether there is a multiplexing system in time for sharing the samefrequency spectrum segment, or different frequency bands are employed, afull duplex communication link is established between the twotransceivers. When the input signals 102 are generated from thetransceiver 120, and the output signals 112 are analyzed in transceiver122, a communication link (A) is established, meaning that transceiver120 is acting as a transmitter and transceiver 122 is acting as areceiver in the communication link (A). The same applies whentransceiver 122 generates the input signals 102, and the output signal112 corresponding to the communication link B is now available intransceiver 120, providing the system in FIG. 1(c) with sensingcapabilities in both apparatus 120 and 122. FIG. 1(c) is not designed toprovide a specific network topology for the system proposed hereinalthough it describes the interaction between the minimum number ofunits required for generating a sensing area 100 and provide sensingcapabilities in both transceivers.

FIG. 2 is a high-level flow chart of a process for detecting,extracting, and/or compressing static profiles to be employed as abaseline for activity recognition through wireless signals. Firstly, thewireless channel measurements that characterize the sensing area 100 areprovided at 200, to an analytics application that runs either locally inan embedded solution or in a remote application, for processing themeasurements extracted from the device(s) in the communication system.Signal processing techniques are applied at 202 in order to filter thereceived signal, and/or normalize the available measurements, and/orapply any other signal conditioning technique, and/or parse the data tobe transferred to the subsequent operations. A process is applied at 204for continuously evaluating the state of the active sensing area 100,and if a static profile is detected, the process at 206 is activated forextracting a preliminary version of the static profile for each of theavailable streams depending on the system. The static profile(s) is/arethen evaluated at 208 in order to meet the static profile requirementsdefined for the application. The extraction of the static profile(s) isperformed at 210 according to the specifications provided, and if acompressed version of the static profile(s) is required, a compressionmethod is applied at 216 in order to represent the static profile(s)with as few number of coefficients as possible in the output at 218. Inscenarios where a compression method is not needed, the system canprovide the output at 214 as an uncompressed static profile(s). A moredetailed description of the identification and extraction of staticprofile(s) is provided below, making reference to FIGS. 3-8.

FIG. 3 illustrates schematically, a process for extracting one or morestatic profiles. The process begins by receiving measurements thatcharacterize the sensing area 100 for all of the streams that areavailable, according to the wireless system that is employed forgenerating the sensing area 100. Different streams are formed due to theestablished link between each transmitter antenna and each receiverantenna. The measurements 300 include channel frequency response orchannel impulse response per each stream, received wireless signalintensity per received antenna and any other measurable variables on thewireless signals sensitive to changes in the environment.

The process flow shown in FIG. 3 requires the channel measurements 300for at least one stream corresponding to one transmitter antenna in theradiation system 104, and one receiver antenna in the radiation system110. A signal pre-processing block is operated in 302 in order to filterthe measurements available through the measurements 300. The signalpre-processing block 302 provides clean time series of the channelmeasurements to the feature computation block 304. It can be appreciatedthat optional functionality could be added to the signal pre-processingblock 302 for normalizing the samples obtained in the measurements. Thestatic profile calculation at 304 is accomplished by the combination ofa feature computation 320, a static segments identification 322, anindex scramble process 324, an assembly of static mesh stage 326,corresponding to the static profile, an evaluation of the current staticprofile mesh at 328, and a final extraction of the static profile 330.

Optionally, as shown using dashed lines in FIG. 3, a compressionoperation can be applied to the static profiles at 306. As a result oroutput, the static profile at 308 includes at least one static profileextracted from the measurements obtained from a receiver antenna while atransmitter antenna is employed in, for example, one of the transmitteror transceiver devices of FIG. 1 or FIG. 3. If multiple streams areavailable in the system, the grouping of all the static profiles composethe final static profile that characterize the sensing area 100.

FIG. 4 provides examples regarding measurements that can be gathered inany of the transmitter, receivers, and/or transceivers illustratedherein. The wireless channel measurements block 300 can continuallymonitor the communications between the transmitter and the receiver, soas to gather timely information that infers human activities inside thesensing area 100. The information metrics include, for example,measurements of channel frequency responses of all streams (e.g.,channel state information in IEEE 802.11n, IEE 802.11ac) and their timedomain transforms, received signal strengths of all streams, the numberof transmitter antennas, the number of receiver antennas, the value ofautomatic gain control (AGC), and/or the noise level. For eitherparticular ones of packages, or for each package that is received in thedevices, the above mentioned parameters can be measured and recorded.The combination of these metrics from a wireless packet is referred toherein as one “measurement sample”. The real-time channel measurementmodule indexes all samples consecutively according to their measurementtime stamps. The samples, as well as their indices, are then fed to thenext module, i.e. the signal pre-processing module.

In FIG. 5, additional details are provided regarding the preprocessingof signals. The signal preprocessing block 302 is responsible forfiltering out corrupted measurement samples, so as to guarantee, or atleast strive to ensure that information used to generate the profile isconsistent. The signal preprocessing block 302 contains a preprocessingfilter 500 and a filter controller 502. The controller 502 takes thenumbers of transmitter and receiver antennas, the value of AGC, and thenoise level as inputs, determines the indices of samples that should befiltered, and feeds these indices to the preprocessing filter 500. Themeasurement samples that meet one of the following criteria areconsidered as corrupted, and are discarded:

A) The numbers of transmitter and receiver antennas do not comply withpredefined value(s), which is determined by application requirements;

B) The value of AGC is out of a predefined AGC range, which isdetermined by application requirements; and

C) The noise level is out of a predefined noise range, which isdetermined by application requirements.

After receiving the filtering indices, the preprocessing filter 500discards the corrupted measurement samples. The remaining samples may bereferred to as preprocessed samples, and will be fed to the next block304.

FIG. 6 illustrates further detail regarding the computation of usefulfeatures. The feature computation block 320 extracts useful featuresfrom the preprocessed samples. The ON/OFF of 320 is controlled by theevaluation signal e, of which the default value is “False”. If theevaluation signal e is “False”, then block 320 is turned ON. Otherwise,block 320 is turned OFF. A set of indices is fed to block 320 foridentifying the samples to be used. Only samples whose indices are inthe set are used in the data parsing, and later, the featurecomputation. Upon execution, block 320 parses the sample data into acomputational-friendly format with the data parsing block 600. Based onthe parsed data, the feature calculator 602 computes different features.Useful features may include, for example, the moving variance of CSImagnitude and the moving variance of the differenced sequence of CSImagnitude. The output of feature calculator 602 is N_(f) sets offeatures. Each of these sets contains one type of feature for allsubcarriers.

FIG. 7 demonstrates how to identify the static segments. The staticsegments identification block 322 takes the feature sets from thefeature computation block 320 as inputs, identifies the static segmentsin the measurement results, and outputs the corresponding indices. Theinputs, i.e., the feature sets, are first enhanced by the featureintegrator 700. Each enhanced feature set is the original feature setbeing mapped to either a higher-dimension space, a same-dimension space,or a lower-dimension space. Examples of enhancements include, forexample, calculating the mean and variance values of a feature set,finding the minimum and maximum of a feature set, and calculating thehistograms of a feature set.

The enhanced sets are then integrated into one set of integratedfeatures. Examples of integrations include, for example, analyzing theprinciple components, conducting singular value decomposition, andcomputing correlations between two feature sets. These integratedfeatures are used as inputs to the index filter 702, which distinguishesstatic segments from non-static ones in the measurement results andoutput the indices of results inside the static segments. The indexfilter 702 includes multiple filters, each of which outputs one set ofcandidate indices based on its unique criterion. Examples of filteringcriteria include, for example, thresholding with the moving variance ofCSI magnitude and/or the moving variance of the differenced sequence ofCSI magnitude. In this way, multiple sets of candidate indices arecomputed and output by 702. The index integrator 704 collects thesecandidate index sets, and computes one integrated set of indices as thestatic indices. Examples of index integration methods include, forexample, the union of all candidate sets, the intersection of allcandidate sets and a voting approach.

FIG. 8 provides further detail regarding the static profile evaluationblock 328, which takes the assembled measurement samples, as well as theassembled indices, as inputs. The static profile evaluation 328evaluates whether the assembled samples are valid to build a staticprofile, and outputs the evaluation result as the evaluation signal e.The assembled samples go through feature computation 320 and staticsegments identification 322 again. In this way, a new set of staticindices is computed based on the assembled measurement results. Thesenew static indices are evaluated by the persistence evaluator 800 tocheck whether the assembled samples are persistent enough to build astatic profile. Examples of metrics used for persistence evaluator 800include the size difference between the sets of old and new staticindices and the earth mover distance between these two sets. If thesamples pass the evaluation, the evaluation signal e is set as “True”.Otherwise, the evaluation signal e is set as “False”.

FIGS. 9(a) to 9(c) illustrate an example of extracting a static profilefrom wireless signals. FIG. 9(a) provides an example of the measurementsamples of channel response magnitude, which are measured and recordedby block 300. It can be seen in FIG. 9(a) that the measurement samplescontain instances that are inconsistent with the overall behavior and/orcontain large noise. These samples should be discarded before building astatic profile. To this end, the measurement samples are fed to block302 for preprocessing and then to block 304 for static profilecalculation. FIG. 9(b) illustrates an example of the static samples thathave passed the static profile evaluation. These static samples containonly measurement samples that align with the overall behavior and arestable enough to build a profile. It can be appreciated from FIG. 9(b)that the inconsistent and noisy samples have been filtered out, and theremaining ones are consistent with each other. Such samples are ready tobuild a static profile. FIG. 9(c) plots an example of the static profilebuilt from the static samples shown in FIG. 9(b). In this example, theprofile is built or summarized by using the time-average values for allthe subcarriers. The curve shown in FIG. 9(c), i.e., the static profile,defines how the measurements should be in average.

FIGS. 10(a) to 10(c) provide another example of extracting a staticprofile. Different from the example shown in FIGS. 9(a) to 9(c),measurement samples shown in FIG. 10(a) contain few noisy orinconsistent instances. However, there is a slowly increasing tendency,which may introduce undesired noise to the static profile. To eliminatethe impact of such tendencies, block 324 conducts a scrambling on thesamples before feeding them into the static profile evaluation block328. In this way, the scrambled samples do not experience the slowlychanging tendency, as shown in FIG. 10(b). Based on these scrambledsamples, a static profile can be extracted with high confidence, asshown in FIG. 10(c).

Referring again to FIG. 3, the compression of the static profile(s) in306 allows the representation of these profiles independently from thenumber of frequency components, or any other sequence of samples, ortime series composing the static profile(s). A compression method couldinclude a behavioral model that fits the input signal 102 to the outputsignals 112 and instead of using the uncompressed static profile, acompressed static profile consisting in the coefficients of suchbehavioral model is shared as the static profile(s). This model could bea polynomial based model that guarantees a good signal fitting or anyother model that accurately represents the output signal 112 when theinput signal 102 is known. If the input signal 102 is unknown, theoutput signal 112 can be used directly as a descriptor of theenvironment, and then a reference signal is used to extract thebehavioral model's coefficients. In such a scenario, the referencesignal should be known by the application that decodes the compressedstatic profiles(s).

The static profile(s) is/are the result of specific propagation paths,following different delays, different attenuation, reflections andscattering effects characterizing the environment or the sensing area inwhich the wireless signals are travelling from transmitter to receiverstations. The static profile(s) is/are therefore characterizing the waythe space is configured.

An illustrative example of a static profile is when the sensing area 100is within a space where there no objects are moving within the sensingarea 100. A house, an apartment, and/or a business facility, amongothers, can possess clear static profiles when no subjects are movingwithin the sensing area 100. In another scenario, when people arewatching a television (or other screen), a variety of static profilescould be detected depending on the number of people remaining static orsemi-static in front of the television, and the position that each ofthem holds in the scenario. For instance, the current static profile(s)of a sensing area 100 can be compared to a previous record of the staticprofile(s) of the same sensing area 100 and the comparison beingindicative, for example, of the need for run calibration orself-calibration mechanisms while performing activity recognition viawireless signals.

For simplicity and clarity of illustration, where consideredappropriate, reference numerals may be repeated among the figures toindicate corresponding or analogous elements. In addition, numerousspecific details are set forth in order to provide a thoroughunderstanding of the examples described herein. However, it will beunderstood by those of ordinary skill in the art that the examplesdescribed herein may be practiced without these specific details. Inother instances, well-known methods, procedures and components have notbeen described in detail so as not to obscure the examples describedherein. Also, the description is not to be considered as limiting thescope of the examples described herein.

It will be appreciated that the examples and corresponding diagrams usedherein are for illustrative purposes only. Different configurations andterminology can be used without departing from the principles expressedherein. For instance, components and modules can be added, deleted,modified, or arranged with differing connections without departing fromthese principles.

It will also be appreciated that any module or component exemplifiedherein that executes instructions may include or otherwise have accessto computer readable media such as storage media, computer storagemedia, or data storage devices (removable and/or non-removable) such as,for example, magnetic disks, optical disks, or tape. Computer storagemedia may include volatile and non-volatile, removable and non-removablemedia implemented in any method or technology for storage ofinformation, such as computer readable instructions, data structures,program modules, or other data. Examples of computer storage mediainclude RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store thedesired information and which can be accessed by an application, module,or both. Any such computer storage media may be part of the componentsin the sensing area 100, any component of or related to the sensing area100, etc., or accessible or connectable thereto. Any application ormodule herein described may be implemented using computerreadable/executable instructions that may be stored or otherwise held bysuch computer readable media.

The steps or operations in the flow charts and diagrams described hereinare just for example. There may be many variations to these steps oroperations without departing from the principles discussed above. Forinstance, the steps may be performed in a differing order, or steps maybe added, deleted, or modified.

Although the above principles have been described with reference tocertain specific examples, various modifications thereof will beapparent to those skilled in the art as outlined in the appended claims.

1. A method for sensing an environment, the method comprising analyzingat least one wireless signal in the environment to determine effects onthe wireless signal by the environment during propagation thereof, theeffects being indicative of either or both: at least one characteristicof the environment, and a way in which the environment is configured. 2.The method of claim 1, wherein the analyzing comprises determining atransformation of an input signal to an output signal, the output signalbeing a received wireless signal.
 3. The method of claim 1, wherein theeffects on the wireless signal are determined using static profiles thatmodel stable behavior in the environment.
 4. The method of claim 3,wherein the static profiles are determined by: obtaining one or morewireless channel measurements; pre-processing the one or more wirelesschannel measurements and performing a feature computation operation toidentify one or more static segments; performing a static profileevaluation using the one or more static segments; performing a staticprofile extraction based on the evaluation; and outputting one or morestatic profiles.
 5. The method of claim 4, further comprising applyingan index scramble to the static segments and preparing an assembly of astatic mesh prior to performing the static profile evaluation.
 6. Themethod of claim 4, further comprising compressing the one or more staticprofiles.
 7. The method of claim 3, further comprising using staticprofiles for at least one of: a baseline for activity recognition; and acomparison of static profiles at different points of time.
 8. The methodof claim 7, wherein the static profiles are used to determine if acalibration is required.
 9. The method of claim 1, wherein the at leastone wireless signal is a pilot signal.
 10. The method of claim 1,wherein channel state information measurements from a standardizedwireless protocol are used in the analyzing.
 11. The method of claim 1,further comprising generating at least one wireless signal.
 12. Themethod of claim 1, further comprising reusing at least one wirelesssignal.
 13. The method of claim 3, further comprising analyzing thestatic profiles.
 14. The method of claim 13, wherein the analyzingcomprising applying a movement assessment.
 15. The method of claim 1,wherein a plurality of wireless signal streams are analyzed.
 16. Acomputer readable medium comprising computer executable instructions forsensing an environment, comprising instructions for analyzing at leastone wireless signal in the environment to determine effects on thewireless signal by the environment during propagation thereof, theeffects being indicative of either or both: at least one characteristicof the environment, and a way in which the environment is configured.17. A system comprising a processor and memory, the memory storingcomputer executable instructions for sensing an environment, comprisinginstructions for analyzing at least one wireless signal in theenvironment to determine effects on the wireless signal by theenvironment during propagation thereof, the effects being indicative ofeither or both: at least one characteristic of the environment, and away in which the environment is configured.